home *** CD-ROM | disk | FTP | other *** search
-
- // Copyright (C) 2002 by Luigi Pino. All Rights Reserved.
-
- /***************************************************************************/
-
- typedef struct {
- bool edge; // Whether collision happened at the edge of line
- float distance; // Distance from closest point of collision
- float radius; // Radius of object
- float3 closest_pts; // Closest point of collision
- float3 from_pts; // From collision points
- float3 to_pts; // To collision points
- int detected_object; // For sound checking
- } Collision_Struct;
-
- typedef struct {
- Collision_Struct collision; // Collision for object
- float direction; // Current direction of object
- float jump; // Height object is off ground
- float speed; // Speed of object in km/h
- float3 current; // Current position of object
- float3 increment; // Increment of object (When doing class add Update_Increment())
- float3 previous; // Previous position of object
- vector3 vector_full; // Full vector of movement
- vector3 vector_scaled; // Scaled vector of movement
- } Movement_Struct;
-
- /***************************************************************************/
-
- void Collision_Bounce_2D(float3 *from, float3 *to, Movement_Struct *object);
-
- void Collision_Edge_2D(Movement_Struct *object);
-
- void Collision_Stay_2D(float3 *from, float3 *to, Movement_Struct *object);
-
- bool Collision_Through_2D(float3 *from, float3 *to, Movement_Struct *object);
-
- void Get_Closest_Point_2D(float3 *from, float3 *to, Movement_Struct *object, int detected_object);
-
- bool Sphere_Collision_2D(Movement_Struct *object_1, Movement_Struct *object_2);
-
- void Sphere_Collision_Calculate(Movement_Struct *object_1, Movement_Struct *object_2, float restitution_value);
-
- bool Sphere_Collision_Check(Movement_Struct *object_1, Movement_Struct *object_2);
-
- /***************************************************************************/